<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="../templates/principal.xhtml">
    <ui:define name="head">
        <script type="text/javascript">
            function handleFornecedorRequest(xhr, status, args) {
                if (args.validationFailed || !args.loggedIn) {
                    PF('fornecedorDialog').show();
                } else {
                    PF('fornecedorDialog').hide();
                }
                PF('fornecedorDialog').toggleMaximize();
            }
        </script>
    </ui:define>

    <ui:define name="content" id="content">
        <h:form id="frmFornecedor">
            <p:panel id="panel" header="Bem Vindo ao Cadastro de Fornecedor">
                <p:growl id="messages" life="5000" showDetail="true" showSummary="true" />

                <!-- GRID FORNECEDOR -->
                <p:dataTable id="tabFornecedor" widgetVar="wtabFornecedor" var="fornecedor" value="#{fornecedorBean.lazyModel}" 
                             lazy="true" paginator="true" rows="12" paginatorPosition="top"
                             emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter" resizableColumns="true">

                    <p:column headerText="Razão Social / Nome" sortBy="#{fornecedor.nomFornecedor}" filterBy="#{fornecedor.nomFornecedor}" style="text-align: center;">
                        <div style="text-align: left; ">
                            <h:outputText value="#{fornecedor.nomFornecedor}" />
                        </div>
                    </p:column>

                    <p:column headerText="Nome Fantasia / Nome Proprietário" sortBy="#{fornecedor.nomFantasia}" filterBy="#{fornecedor.nomFantasia}" style="text-align: center;">
                        <div style="text-align: left; ">
                            <h:outputText value="#{fornecedor.nomFantasia}" />
                        </div>
                    </p:column>

                    <p:column headerText="C.N.P.J. / C.P.F." sortBy="#{fornecedor.numCpf}" filterBy="#{fornecedor.numCpf}" style="text-align: center;">
                        <div style="text-align: left;">
                            <h:outputText value="#{fornecedor.numCpf}" />
                        </div>
                    </p:column>

                    <p:column headerText="Tipo" sortBy="#{fornecedor.tipFornecedor}" filterBy="#{fornecedor.tipFornecedor}"  
                              filterOptions="#{fornecedorBean.tipFornecedorOptions}" filterMatchMode="exact">
                        <div style="text-align: left; ">
                            <h:outputText value="#{fornecedor.dscTipo}" />
                        </div>
                    </p:column>

                    <p:column headerText="Categoria" sortBy="#{fornecedor.idCategoria.dscCategoria}" filterBy="#{fornecedor.idCategoria.dscCategoria}">
                        <div style="text-align: left; ">
                            <h:outputText value="#{fornecedor.idCategoria.dscCategoria}" />
                        </div>
                    </p:column>

                    <p:column style="width: 100px;">
                        <p:panelGrid columns="4" styleClass="actions">
                            <p:commandButton id="selectButtonFornecedor" update=":frmFornecedor:panel :frmFornecedor:messages" 
                                             icon="ui-icon-search" title="Visualizar // Alterar" oncomplete="PF('fornecedorDialog').show(); PF('fornecedorDialog').toggleMaximize();">
                                <f:setPropertyActionListener value="#{false}" target="#{fornecedorBean.incluirfornecedor}" />
                                <f:setPropertyActionListener value="#{true}" target="#{fornecedorBean.alterarfornecedor}" />
                                <f:setPropertyActionListener value="#{fornecedor}" target="#{fornecedorBean.selectedFornecedor}" />
                                <f:setPropertyActionListener value="#{true}" target="#{fornecedorBean.ativacontato}" />
                                <f:setPropertyActionListener value="#{true}" target="#{fornecedorBean.ativatelefone}" />
                                <f:setPropertyActionListener value="#{-1}" target="#{fornecedorBean.ativaAccordion}" />
                                <f:setPropertyActionListener value="#{0}" target="#{fornecedorBean.ativaTab}" />
                            </p:commandButton>

                            <p:commandButton id="excluirButtonFornecedor" update=":frmFornecedor:confirmaExclusao :frmFornecedor:messages" 
                                             icon="ui-icon-trash" title="Excluir Fornecedor" oncomplete="PF('confirmation').show();">
                                <f:setPropertyActionListener value="#{fornecedor}" target="#{fornecedorBean.selectedFornecedor}" />
                            </p:commandButton>
                        </p:panelGrid>
                    </p:column>

                    <f:facet name="footer">
                        <div style="text-align: left;">
                            <p:commandButton id="incluirButtonFornecedor" value="Novo Fornecedor" actionListener="#{fornecedorBean.preparaInserir}" 
                                             update=":frmFornecedor:panel, :frmFornecedor:messages"
                                             icon="ui-icon-pencil" title="Cadastrar Novo Fornecedor" oncomplete="PF('fornecedorDialog').show(); PF('fornecedorDialog').toggleMaximize();" />
                        </div>
                    </f:facet>
                </p:dataTable>
                <!-- DETALHES FORNECEDOR -->
                <p:dialog id="dialogFornecedor"  widgetVar="fornecedorDialog" resizable="true" position="top" onHide="PF('fornecedorDialog').toggleMaximize();"
                          showEffect="explode" hideEffect="explode" maximizable="true">

                    <p:panel id="panelDetalheFornecedor" style="text-align: left; font-weight:bold; width: 100%;" header="DETALHES DO FORNECEDOR - #{fornecedorBean.processo}">
                        <p:tabView id="accordion"  widgetVar="accordion" activeIndex="#{fornecedorBean.ativaTab}" style="width: 100%;" effect="scale">
                            <p:tab id="tabPrincipal" title="Dados Principais do Fornecedor: #{fornecedorBean.selectedFornecedor.nomFornecedor}" titleStyle="text-align: center; font-weight: bold;">
                                <p:panelGrid id="display" style="width: 100%;">
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Tipo:" />
                                        </p:column>
                                        <p:column>
                                            <p:selectOneRadio id="tipFornecedor" value="#{fornecedorBean.selectedFornecedor.tipFornecedor}">
                                                <f:selectItem itemLabel="Jurídica" itemValue="J" />
                                                <f:selectItem itemLabel="Física" itemValue="F" />
                                                <f:ajax event="change" render="display"/>
                                            </p:selectOneRadio>
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Razão Social / Nome:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inNome" value="#{fornecedorBean.selectedFornecedor.nomFornecedor}" maxlength="100" style="width:600px; font-weight:bold; " />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Nome Fantasia / Nome Proprietário:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inFantasia" value="#{fornecedorBean.selectedFornecedor.nomFantasia}" maxlength="100" style="width:600px; font-weight:bold; " />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* C.N.P.J. / C.P.F.:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputMask id="inCpf"   
                                                         mask="#{fornecedorBean.selectedFornecedor.tipFornecedor == 'F' ? '999.999.999-99' : '99.999.999/9999-99'}"  
                                                         value="#{fornecedorBean.selectedFornecedor.numCpf}"  
                                                         style="width:200px; font-weight:bold; " />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Data Abertura / Nascimento:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputMask id="imDatAbert" value="#{fornecedorBean.selectedFornecedor.datNascAbert}" mask="99/99/9999" style="font-weight:bold; ">
                                                <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" />
                                            </p:inputMask>
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="E-Mail:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inEmail" value="#{fornecedorBean.selectedFornecedor.dscEmail}" maxlength="200" style="width:500px; font-weight:bold;" />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Site:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inSite" value="#{fornecedorBean.selectedFornecedor.dscSite}" maxlength="200" style="width:600px; font-weight:bold;" />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Categoria:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inCategoria" value="#{fornecedorBean.selectedFornecedor.idCategoria.dscCategoria}" 
                                                         readonly="true" style="width:400px; font-weight:bold; " />

                                            <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Categoria" update=":frmFornecedor:panelCategoria" onclick="PF('categoriaDialog').show();" /> 
                                        </p:column>
                                    </p:row>
                                </p:panelGrid>    
                            </p:tab>
                            <p:tab id="tabEndereco" title="Endereços">
                                <p:panel id="panelDetalheFornecedorEndereco" style="text-align: left; ">
                                    <p:dataTable id="tabFornecedorEndereco" widgetVar="wtabFornecedorEndereco" var="fornecedorEndereco" value="#{fornecedorBean.selectedFornecedor.fornecedorEnderecoList}" 
                                                 rowIndexVar="rowId" paginator="true" rows="3" paginatorPosition="top" emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                        <p:column headerText="Descrição" sortBy="#{fornecedorEndereco.dscEndereco}" filterBy="#{fornecedorEndereco.dscEndereco}">
                                            <h:outputText value="#{fornecedorEndereco.dscEndereco}" />
                                        </p:column>

                                        <p:column headerText="Endereço">
                                            <h:outputText value="#{fornecedorEndereco.codLogradouro.dscLogradouro}" />
                                        </p:column>

                                        <p:column headerText="Tipo" sortBy="#{fornecedorEndereco.tipEndereco}" filterBy="#{fornecedor.tipEndereco}"  
                                                  filterOptions="#{fornecedorBean.tipEnderecoOptions}" filterMatchMode="exact">
                                            <h:outputText value="#{fornecedorEndereco.dscTipo}" />
                                        </p:column>

                                        <p:column style="width: 100px;">
                                            <p:panelGrid columns="4" styleClass="actions">
                                                <p:commandButton id="selectButtonFornecedorEndereco" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                 icon="ui-icon-search" title="Visualizar // Alterar Endereço">
                                                    <f:setPropertyActionListener value="#{fornecedorEndereco}" target="#{fornecedorBean.selectedFornecedorEndereco}" />
                                                    <f:setPropertyActionListener value="#{rowId}" target="#{fornecedorBean.rowid}" />
                                                    <f:setPropertyActionListener value="#{true}" target="#{fornecedorBean.alterarendereco}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{fornecedorBean.incluirendereco}" />
                                                </p:commandButton>

                                                <p:commandButton id="excluirButtonFornecedorEndereco" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                 icon="ui-icon-trash" title="Excluir Endereço" oncomplete="PF('confirmationEndereco').show();">
                                                    <f:setPropertyActionListener value="#{fornecedorEndereco}" target="#{fornecedorBean.selectedFornecedorEndereco}" />
                                                </p:commandButton>
                                            </p:panelGrid>
                                        </p:column>

                                        <f:facet name="footer">
                                            <div style="text-align: left;">
                                                <p:commandButton value="Novo Endereço" id="incluirButtonFornecedorEndereco" actionListener="#{fornecedorBean.preparaInserirEndereco}" 
                                                                 update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                 icon="ui-icon-pencil" title="Cadastrar Novo Endereço" />
                                            </div>
                                        </f:facet>
                                    </p:dataTable>
                                    <br />
                                    <p:panelGrid id="displayEndereco">
                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Processo:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <h:outputText value="#{fornecedorBean.processoEndereco}" style="width:500px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* Tipo:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:selectOneRadio value="#{fornecedorBean.selectedFornecedorEndereco.tipEndereco}">
                                                    <f:selectItem itemLabel="Comercial" itemValue="1" />
                                                    <f:selectItem itemLabel="Residencial" itemValue="2" />
                                                    <f:selectItem itemLabel="Filial" itemValue="3" />
                                                    <f:selectItem itemLabel="Cobrança" itemValue="4" />
                                                    <f:selectItem itemLabel="Outro" itemValue="5" />
                                                </p:selectOneRadio>
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* Descrição:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputText id="inDscEndereco" value="#{fornecedorBean.selectedFornecedorEndereco.dscEndereco}" style="width:500px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* C.E.P.:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputMask id="inCep" value="#{fornecedorBean.selectedFornecedorEndereco.codLogradouro.numCep}"  
                                                             mask="99999-999"
                                                             readonly="true" style="width:200px; font-weight:bold;" />
                                                <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Endereço" onclick="PF('pesquisaDialog').show();" /> 
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Logradouro:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputText id="inLogradouro" value="#{fornecedorBean.selectedFornecedorEndereco.codLogradouro.dscLogradouro}" 
                                                             readonly="true" style="width:500px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* Numero:" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inNumero" value="#{fornecedorBean.selectedFornecedorEndereco.numEndereco}" style="width:100px; font-weight:bold; " />
                                            </p:column>

                                            <p:column>
                                                <h:outputText value="Complemento:" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inComplemento" value="#{fornecedorBean.selectedFornecedorEndereco.dscComplemento}" 
                                                             style="width:400px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Bairro:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputText id="inBairro" value="#{fornecedorBean.selectedFornecedorEndereco.codLogradouro.codBairro.dscBairro}" 
                                                             readonly="true" style="width:400px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Cidade:" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inCidade" value="#{fornecedorBean.selectedFornecedorEndereco.codLogradouro.codBairro.codCidade.dscCidade}" 
                                                             readonly="true" style="width:300px; font-weight:bold; " />
                                            </p:column>
                                            <p:column>
                                                <h:outputText value="U.F." />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inUf" value="#{fornecedorBean.selectedFornecedorEndereco.codLogradouro.codBairro.codCidade.codUf.codUf}" 
                                                             readonly="true" style="width:50px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>
                                    </p:panelGrid>

                                    <p:commandButton value="Inserir Endereço" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                     actionListener="#{fornecedorBean.inserirEndereco}" />
                                    <p:commandButton value="Alterar Endereço" update=":frmFornecedor:accordion :frmFornecedor:messages"
                                                     actionListener="#{fornecedorBean.alterarEndereco}" />

                                </p:panel>
                            </p:tab>
                            <p:tab id="tabTelefone" title="Telefones">
                                <p:panel id="panelDetalheFornecedorEnderecoTelefone" style="text-align: left; ">

                                    <p:dataTable id="tabFornecedorEnderecoTelefone" widgetVar="wtabFornecedorEnderecoTelefone" var="fornecedorEnderecoTelefone" 
                                                 value="#{fornecedorBean.selectedFornecedor.fornecedorEnderecoTelefoneList}" paginator="true" rows="3" paginatorPosition="top"
                                                 rowIndexVar="rowIdTelefone"  emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                        <p:column headerText="Descrição" sortBy="#{fornecedorEnderecoTelefone.dscTelefone}" filterBy="#{fornecedorEnderecoTelefone.dscTelefone}">
                                            <h:outputText value="#{fornecedorEnderecoTelefone.dscTelefone}" />
                                        </p:column>

                                        <p:column headerText="Numero">
                                            <h:outputText value="#{fornecedorEnderecoTelefone.numTelefone}" />
                                        </p:column>

                                        <p:column headerText="Ramal">
                                            <h:outputText value="#{fornecedorEnderecoTelefone.numRamal}" />
                                        </p:column>

                                        <p:column headerText="Tipo" sortBy="#{fornecedorEnderecoTelefone.tipTelefone}" filterBy="#{fornecedorEnderecoTelefone.tipTelefone}"  
                                                  filterOptions="#{fornecedorBean.tipEnderecoTelefoneOptions}" filterMatchMode="exact">
                                            <h:outputText value="#{fornecedorEnderecoTelefone.dscTipo}" />
                                        </p:column>

                                        <p:column style="width: 100px;">
                                            <p:panelGrid columns="4" styleClass="actions">
                                                <p:commandButton id="selectButtonFornecedorEnderecoTelefone" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                 icon="ui-icon-search" title="Visualizar // Alterar Telefone">
                                                    <f:setPropertyActionListener value="#{fornecedorEnderecoTelefone}" target="#{fornecedorBean.selectedFornecedorEnderecoTelefone}" />
                                                    <f:setPropertyActionListener value="#{rowIdTelefone}" target="#{fornecedorBean.rowidtelefone}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{fornecedorBean.ativacontato}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{fornecedorBean.ativatelefone}" />
                                                    <f:setPropertyActionListener value="#{0}" target="#{fornecedorBean.ativaAccordion}" />
                                                </p:commandButton>

                                                <p:commandButton id="excluirButtonFornecedorEnderecoTelefone" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                 icon="ui-icon-trash" title="Excluir Telefone" oncomplete="PF('confirmationEnderecoTelefone').show();">
                                                    <f:setPropertyActionListener value="#{fornecedorEnderecoTelefone}" target="#{fornecedorBean.selectedFornecedorEnderecoTelefone}" />
                                                </p:commandButton>
                                            </p:panelGrid>
                                        </p:column>

                                        <f:facet name="footer">
                                            <div style="text-align: left;">
                                                <p:commandButton id="incluirButtonFornecedorEnderecoTelefone" value="Novo Telefone" actionListener="#{fornecedorBean.preparaInserirEnderecoTelefone}" 
                                                                 update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                 icon="ui-icon-pencil" title="Cadastrar Novo Telefone" />
                                            </div>
                                        </f:facet>
                                    </p:dataTable>
                                    <br />
                                    <p:accordionPanel id="accordionContato" activeIndex="#{fornecedorBean.ativaAccordion}">
                                        <p:tab title="Detalhe Telefone" disabled="#{fornecedorBean.ativatelefone}">
                                            <p:panelGrid id="displayEnderecoTelefone">
                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="Processo:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <h:outputText value="#{fornecedorBean.processoTelefone}" style="width:500px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Tipo:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:selectOneRadio value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.tipTelefone}">
                                                            <f:selectItem itemLabel="Comercial" itemValue="1" />
                                                            <f:selectItem itemLabel="Residencial" itemValue="2" />
                                                            <f:selectItem itemLabel="Celular" itemValue="3" />
                                                            <f:selectItem itemLabel="Outro" itemValue="4" />
                                                        </p:selectOneRadio>
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Descrição:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:inputText id="inDscEnderecoTelefone" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.dscTelefone}" style="width:500px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* D.D.I.:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inDdi" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.idDdi.ddi}"  
                                                                     readonly="true" style="width:50px; font-weight:bold; text-align: right; " />
                                                    </p:column>
                                                    <p:column colspan="2">
                                                        <p:inputText id="inDscDdi" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.idDdi.descricao}"  
                                                                     readonly="true" style="width:400px; font-weight:bold; " />
                                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar D.D.I." onclick="PF('ddiDialog').show()" 
                                                                         update=":frmFornecedor:panelSelecionaDdi :frmFornecedor:messages" /> 
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* D.D.D.:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inDdd" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.idDdd.codigo}"  
                                                                     readonly="true" style="width:50px; font-weight:bold; text-align: right; " />
                                                    </p:column>
                                                    <p:column colspan="2">
                                                        <p:inputText id="inDscDdd" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.idDdd.localidade}"  
                                                                     readonly="true" style="width:400px; font-weight:bold; " />
                                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar D.D.D." onclick="PF('dddDialog').show();" 
                                                                         update=":frmFornecedor:panelSelecionaDdd :frmFornecedor:messages" /> 
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Numero:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inNumeroTelefone" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.numTelefone}" 
                                                                     style="width:100px; font-weight:bold; " />
                                                    </p:column>
                                                    <p:column>
                                                        <h:outputText value="Ramal:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inRamal" value="#{fornecedorBean.selectedFornecedorEnderecoTelefone.numRamal}" 
                                                                     style="width:100px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>
                                            </p:panelGrid>
                                            <br />
                                            <p:commandButton value="Inserir Telefone" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                             actionListener="#{fornecedorBean.inserirEnderecoTelefone}" />

                                            <p:commandButton value="Alterar Telefone" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                             actionListener="#{fornecedorBean.alterarEnderecoTelefone}" />
                                        </p:tab>
                                        <p:tab title="Contatos" disabled="#{fornecedorBean.ativacontato}">
                                            <p:dataTable id="tabFornecedorTelefoneContato" widgetVar="wtabFornecedorTelefoneContato" var="fornecedorTelefoneContato" 
                                                         value="#{fornecedorBean.fornecedorTelefoneContatoList}" paginator="true" rows="3" paginatorPosition="top"
                                                         rowIndexVar="rowIdTelefoneContato"  emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                                <p:column headerText="Nome" sortBy="#{fornecedorTelefoneContato.nomContato}" filterBy="#{fornecedorTelefoneContato.nomContato}">
                                                    <h:outputText value="#{fornecedorTelefoneContato.nomContato}" />
                                                </p:column>

                                                <p:column headerText="E-Mail" sortBy="#{fornecedorTelefoneContato.emailContato}" filterBy="#{fornecedorTelefoneContato.emailContato}">
                                                    <h:outputText value="#{fornecedorTelefoneContato.emailContato}" />
                                                </p:column>

                                                <p:column headerText="Telefone" sortBy="#{fornecedorTelefoneContato.numTelefone}" filterBy="#{fornecedorTelefoneContato.numTelefone}">
                                                    <h:outputText value="#{fornecedorTelefoneContato.numTelefone}" />
                                                </p:column>

                                                <p:column headerText="Ramal" sortBy="#{fornecedorTelefoneContato.numRamal}" filterBy="#{fornecedorTelefoneContato.numRamal}">
                                                    <h:outputText value="#{fornecedorTelefoneContato.numRamal}" />
                                                </p:column>

                                                <p:column headerText="Departamento" sortBy="#{fornecedorTelefoneContato.idDepartamento.dscDepartamento}" filterBy="#{fornecedorTelefoneContato.idDepartamento.dscDepartamento}">
                                                    <h:outputText value="#{fornecedorTelefoneContato.idDepartamento.dscDepartamento}" />
                                                </p:column>

                                                <p:column style="width: 100px;">
                                                    <p:panelGrid columns="4" styleClass="actions">
                                                        <p:commandButton id="selectButtonFornecedorTelefoneContato" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                         icon="ui-icon-search" title="Visualizar // Alterar Contato">
                                                            <f:setPropertyActionListener value="#{fornecedorTelefoneContato}" target="#{fornecedorBean.selectedFornecedorTelefoneContato}" />
                                                            <f:setPropertyActionListener value="#{rowIdTelefoneContato}" target="#{fornecedorBean.rowidtelefonecontato}" />
                                                        </p:commandButton>

                                                        <p:commandButton id="excluirButtonFornecedorTelefoneContato" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                         icon="ui-icon-trash" title="Excluir Contato" oncomplete="PF('confirmationTelefoneContato').show()">
                                                            <f:setPropertyActionListener value="#{fornecedorTelefoneContato}" target="#{fornecedorBean.selectedFornecedorTelefoneContato}" />
                                                        </p:commandButton>
                                                    </p:panelGrid>
                                                </p:column>

                                                <f:facet name="footer">
                                                    <div style="text-align: left;">
                                                        <p:commandButton value="Novo Contato" id="incluirButtonFornecedorTelefoneContato" actionListener="#{fornecedorBean.preparaInserirTelefoneContato}" 
                                                                         update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                         icon="ui-icon-pencil" title="Cadastrar Novo Contato" />
                                                    </div>
                                                </f:facet>
                                            </p:dataTable>
                                            <br />
                                            <p:panel id="panelTelefoneContato" header="Detalhes Contato" style="text-align: center; ">
                                                <p:panelGrid id="displayTelefoneContato" style="text-align: left; ">
                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="Processo:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <h:outputText value="#{fornecedorBean.processoContato}" style="width:500px; font-weight:bold; " />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="* Nome:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <p:inputText id="inNomeContato" value="#{fornecedorBean.selectedFornecedorTelefoneContato.nomContato}" 
                                                                         style="width:500px; font-weight:bold; " />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="E-Mail:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <p:inputText id="inEMailContato" value="#{fornecedorBean.selectedFornecedorTelefoneContato.emailContato}" 
                                                                         style="width:500px; font-weight:bold;" />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="Telefone:" />
                                                        </p:column>
                                                        <p:column>
                                                            <p:inputText id="inTelefoneContato" value="#{fornecedorBean.selectedFornecedorTelefoneContato.numTelefone}" 
                                                                         style="width:300px; font-weight:bold; " />
                                                        </p:column>

                                                        <p:column>
                                                            <h:outputText value="Ramal:" />
                                                        </p:column>
                                                        <p:column>
                                                            <p:inputText id="inTelefoneRamalContato" value="#{fornecedorBean.selectedFornecedorTelefoneContato.numRamal}" 
                                                                         style="width:100px; font-weight:bold; " />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="* Departamento:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <p:inputText id="inDepartamento" value="#{fornecedorBean.selectedFornecedorTelefoneContato.idDepartamento.dscDepartamento}" 
                                                                         readonly="true" style="width:500px; font-weight:bold; " />
                                                            <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Departamento" onclick="PF('departamentoDialog').show();"
                                                                             update=":frmFornecedor:panelSelecionaDepartamento :frmFornecedor:messages" />
                                                        </p:column>
                                                    </p:row>
                                                </p:panelGrid>
                                                <div style="text-align: right">
                                                    <p:commandButton value="Inserir Contato" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                     actionListener="#{fornecedorBean.inserirTelefoneContato}" />

                                                    <p:commandButton value="Alterar Contato" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                                     actionListener="#{fornecedorBean.alterarTelefoneContato}" />
                                                </div>


                                            </p:panel>
                                        </p:tab>
                                    </p:accordionPanel>

                                </p:panel>
                            </p:tab>
                            <p:tab id="tabObservacao" title="Observações">
                                <p:inputTextarea id="inObs" rows="15" value="#{fornecedorBean.selectedFornecedor.dscObs}" style="width:100%; font-weight:bold; " /> 
                            </p:tab>
                            <p:tab id="tabHistorico" title="Histórico">
                                <p:inputTextarea id="inHistorico" rows="15" readonly="true" value="#{fornecedorBean.selectedFornecedor.dscHistorico}" style="width:100%; font-weight:bold; " /> 
                            </p:tab>
                        </p:tabView>
                        <br />
                        <p:commandButton icon="ui-icon-pencil" value="Salvar Fornecedor" oncomplete="handleFornecedorRequest(xhr, status, args)"
                                         update=":frmFornecedor:panelDetalheFornecedor :frmFornecedor:messages" actionListener="#{fornecedorBean.inserir}" rendered="#{fornecedorBean.incluirfornecedor}" />
                        <p:commandButton icon="ui-icon-document" value="Salvar Fornecedor" oncomplete="handleFornecedorRequest(xhr, status, args)"
                                         update=":frmFornecedor:panelDetalheFornecedor :frmFornecedor:messages" actionListener="#{fornecedorBean.alterar}" rendered="#{fornecedorBean.alterarfornecedor}" />
                        <p:commandButton icon="ui-icon-closethick" value="Fechar" onclick="PF('fornecedorDialog').hide();" title="Fecha Janela dos Fornecedores!" />
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA CATEGORIA -->
                <p:dialog id="dialogCategoria" header="Pesquisa Categoria" widgetVar="categoriaDialog" resizable="true"
                          width="600" showEffect="explode" hideEffect="explode" position="right,top">
                    <p:panel id="panelCategoria" style="text-align: left; ">
                        <p:dataTable id="tabCategoriaPesq" widgetVar="wtabCategoria" var="categoria" value="#{categoriaBean.lazyModel}" 
                                     paginator="true" rows="5" lazy="true" emptyMessage="Nenhuma Categoria retornada ..." filterEvent="enter">

                            <f:facet name="header">
                                Pesquise e selecione uma Categoria
                            </f:facet>

                            <p:column headerText="Descrição" sortBy="#{categoria.dscCategoria}" filterBy="#{categoria.dscCategoria}">
                                <h:outputText value="#{categoria.dscCategoria}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonCategoria" update=":frmFornecedor:panelDetalheFornecedor :frmFornecedor:messages" 
                                                     icon="ui-icon-check" title="Selecionar Categoria" oncomplete="PF('categoriaDialog').hide();">
                                        <f:setPropertyActionListener value="#{categoria}" target="#{fornecedorBean.categoria}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- CONFIRMA EXCLUSAO FORNECEDOR -->
                <p:dialog id="confirmaExclusao" header="Confirma a Exclusão desse Fornecedor: #{fornecedorBean.selectedFornecedor.nomFornecedor}?" widgetVar="confirmation">  

                    <p:commandButton value="Sim" update=":frmFornecedor:panel :frmFornecedor:messages" 
                                     oncomplete="PF('confirmation').hide(), PF('fornecedorDialog').hide()" actionListener="#{fornecedorBean.excluir}" />  
                    <p:commandButton value="Não" onclick="PF('confirmation').hide()" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO ENDERECO -->
                <p:dialog header="Confirma a Exclusão desse Endereço?" widgetVar="confirmationEndereco">  

                    <p:commandButton value="Sim" update=":frmFornecedor:accordion :frmFornecedor:messages"  
                                     oncomplete="PF('confirmationEndereco').hide()" actionListener="#{fornecedorBean.excluirEndereco}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationEndereco').hide()" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO TELEFONE -->
                <p:dialog header="Confirma a Exclusão desse Telefone: #{fornecedorBean.selectedFornecedorEnderecoTelefone.dscTelefone}?" widgetVar="confirmationEnderecoTelefone">  

                    <p:commandButton value="Sim" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                     oncomplete="PF('confirmationEnderecoTelefone').hide()" actionListener="#{fornecedorBean.excluirEnderecoTelefone}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationEnderecoTelefone').hide()" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO TELEFONE CONTATO -->
                <p:dialog header="Confirma a Exclusão desse Contato: #{fornecedorBean.selectedFornecedorTelefoneContato.nomContato}?" widgetVar="confirmationTelefoneContato">  

                    <p:commandButton value="Sim" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                     oncomplete="PF('confirmationTelefoneContato').hide()" actionListener="#{fornecedorBean.excluirTelefoneContato}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationTelefoneContato').hide()" type="button" />   

                </p:dialog>
                <!-- DEFINICAO PESQUISA ENDERECO -->
                <p:dialog id="dialogPesquisa" header="Pesquisa dos Logradouros" widgetVar="pesquisaDialog" resizable="true" dynamic="true"
                          width="600" showEffect="explode" hideEffect="explode" onHide="javascript:AbreJanela(false);" position="right,top">
                    <p:panel id="panelPesqEndereco" style="text-align: left; ">
                        <div id="conexao" name="conexao" style="visibility:hidden" align="center">
                            <p:fieldset legend="Aguarde ..." style="text-align: left">
                                <img src="../design/ajaxloading.gif" />
                            </p:fieldset>
                        </div>
                        <p:panelGrid id="displayPesquisa" columns="2">
                            <h:outputText value="" />
                            <p:messages />

                            <h:outputText value="C.E.P.:" />
                            <p:inputMask mask="99999-999" id="numeroCep" value="#{enderecoBean.numeroCep}" style="width:100px; font-weight:bold;" onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputMask>

                            <h:outputText value="Descrição:" />
                            <p:inputText id="descLogradouro" value="#{enderecoBean.descLogradouro}" style="width:400px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputText>

                            <h:outputText value="Bairro:" />
                            <p:inputText id="descBairro" value="#{enderecoBean.descBairro}" style="width:400px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputText>

                            <h:outputText value="Cidade:" />
                            <p:inputText id="descCidade" value="#{enderecoBean.descCidade}" style="width:400px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputText>

                            <h:outputText value="U.F.:" />
                            <p:inputText id="descUf" value="#{enderecoBean.descUf}" style="width:50px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this" />
                            </p:inputText>
                        </p:panelGrid>
                        <br />
                        <p:commandButton id="pesqEndereco" icon="ui-icon ui-icon-search" value="Pesquisar" actionListener="#{enderecoBean.PesquisarEndereco}"
                                         oncomplete="PF('pesquisaDialog').hide(), PF('cepDialog').show()" update=":frmFornecedor:panelSelecionaEndereco :frmFornecedor:messages" 
                                         process="@this" onclick="javascript:AbreJanela(true);" />
                    </p:panel>
                </p:dialog>
                <!-- GRID PESQUISA ENDERECO -->
                <p:dialog id="cepDialog" header="Pesquisa Logradouro" widgetVar="cepDialog" resizable="true" dynamic="true"
                          showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaEndereco" style="text-align: left; ">
                        <p:dataTable id="tabEndereco" widgetVar="tabEndereco" var="endereco" value="#{enderecoBean.lazyModelEndereco}"
                                     paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ..." filterEvent="enter">

                            <p:column headerText="C.E.P." sortBy="#{endereco.numCep}" style="width:50px !important;">
                                <h:outputText value="#{endereco.numCep}" />
                            </p:column>

                            <p:column headerText="Descrição" sortBy="#{endereco.dscLogradouro}" style="width:300px !important; ">
                                <h:outputText value="#{endereco.dscLogradouro}" />
                            </p:column>

                            <p:column headerText="Bairro" sortBy="#{endereco.codBairro.dscBairro}" style="width:300px !important; ">
                                <h:outputText value="#{endereco.codBairro.dscBairro}" />
                            </p:column>

                            <p:column headerText="Cidade" sortBy="#{endereco.codBairro.codCidade.dscCidade}" style="width:300px !important; ">
                                <h:outputText value="#{endereco.codBairro.codCidade.dscCidade}" />
                            </p:column>

                            <p:column headerText="U.F." sortBy="#{endereco.codBairro.codCidade.codUf.codUf}" style="width:50px !important; ">
                                <h:outputText value="#{endereco.codBairro.codCidade.codUf.codUf}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonEndereco" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                     icon="ui-icon-check" title="Selecionar Endereço" oncomplete="PF('cepDialog').hide()">
                                        <f:setPropertyActionListener value="#{endereco}" target="#{fornecedorBean.cepEndereco}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA D.D.I. -->
                <p:dialog id="ddiDialog" header="Pesquisa D.D.I." widgetVar="ddiDialog" resizable="true" dynamic="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaDdi" style="text-align: left; ">

                        <p:dataTable id="tabDdi" widgetVar="wtabDdi" var="codigoDdi" value="#{codigoDdiBean.lazyModel}" filterEvent="enter" 
                                     paginatorPosition="top" paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ...">

                            <p:column headerText="D.D.I." sortBy="#{codigoDdi.ddi}" filterBy="#{codigoDdi.ddi}">
                                <h:outputText value="#{codigoDdi.ddi}" />
                            </p:column>

                            <p:column headerText="Descrição" sortBy="#{codigoDdi.descricao}" filterBy="#{codigoDdi.descricao}">
                                <h:outputText value="#{codigoDdi.descricao}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonDdi" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                     icon="ui-icon-check" title="Selecionar D.D.I." oncomplete="PF('ddiDialog').hide()">
                                        <f:setPropertyActionListener value="#{codigoDdi}" target="#{fornecedorBean.ddi}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA D.D.D. -->
                <p:dialog id="dddDialog" header="Pesquisa D.D.D." widgetVar="dddDialog" resizable="true" dynamic="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaDdd" style="text-align: left; ">

                        <p:dataTable id="tabDdd" widgetVar="wtabDdd" var="codigoDdd" value="#{codigoDddBean.lazyModel}" filterEvent="enter" 
                                     paginatorPosition="top" paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ...">

                            <p:column headerText="D.D.D." sortBy="#{codigoDdd.codigo}" filterBy="#{codigoDdd.codigo}">
                                <h:outputText value="#{codigoDdd.codigo}" />
                            </p:column>

                            <p:column headerText="Descrição" sortBy="#{codigoDdd.localidade}" filterBy="#{codigoDdd.localidade}">
                                <h:outputText value="#{codigoDdd.localidade}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonDdd" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                     icon="ui-icon-check" title="Selecionar D.D.D." oncomplete="PF('dddDialog').hide()">
                                        <f:setPropertyActionListener value="#{codigoDdd}" target="#{fornecedorBean.ddd}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA DEPARTAMENTO -->
                <p:dialog id="departamentoDialog" header="Pesquisa Departamento" widgetVar="departamentoDialog" resizable="true" dynamic="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaDepartamento" style="text-align: left; ">

                        <p:dataTable id="tabDepartamento" widgetVar="wtabDepartamento" var="departamento" value="#{departamentoBean.lazyModel}" filterEvent="enter" 
                                     paginatorPosition="top" paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ...">

                            <p:column headerText="Descrição" sortBy="#{departamento.dscDepartamento}" filterBy="#{departamento.dscDepartamento}">
                                <h:outputText value="#{departamento.dscDepartamento}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonDepartamento" update=":frmFornecedor:accordion :frmFornecedor:messages" 
                                                     icon="ui-icon-check" title="Selecionar Departamento" oncomplete="PF('departamentoDialog').hide()">
                                        <f:setPropertyActionListener value="#{departamento}" target="#{fornecedorBean.departamento}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
            </p:panel>
        </h:form>
    </ui:define>

</ui:composition>